package com.example.demo.reference;

import org.apache.tomcat.util.collections.ConcurrentCache;

public class WeakHashMapDemo {

    public static void main(String[] args) {

        /**
         * 1.ConcurrentCache: Tomcat中的一个缓存处理工具类，线程安全，基于WeakHashMap实现LRU策略缓存处理
         * 2.LinkedHashMapCache：基于 LinkedHashMap 的缓存工具类，基于volatile 实现LRU策略线程安全缓存
         * 3.WeakHashMapCache: 基于 WeakHashMap 的缓存工具类，基于volatile 实现LRU策略线程安全缓存
         */
        ConcurrentCache cache = new ConcurrentCache(3);
        WeakHashMapCache weakHashMapCache = new WeakHashMapCache.Builder<String,Integer>(3).build();

        for (int i = 0; i < 5; i++) {
            cache.put(i + "", i + "");
        }
        System.gc();
        for (int i = 0; i < 5; i++) {
            System.out.println(cache.get(i + ""));
        }


    }

}
